_s = array('allowed_extensions'=>'all','unallowed_extensions'=>'php,php3,phtml,htaccess,htpasswd,cgi,pl,asp,aspx,cfm','max_file_size'=>500*1024);} function set($n,$v){$this->_s[$n]=$v;} function ext($f){return strtolower(trim(strrchr($f,'.'),'.'));} function validate($f,&$e) { if(!isset($this->_s['aa']))$this->_s['aa']=explode(',',$this->_s['allowed_extensions']); if(!isset($this->_s['ua']))$this->_s['ua']=explode(',',$this->_s['unallowed_extensions']); $e='none'; if(!is_array($f))$e='not_an_array'; elseif($f['name']=='')$e='file_empty'; elseif($f['size']=='')$e='file_empty'; elseif($f['error']!=0)$e='http_error'; elseif($this->_s['allowed_extensions']!=''&&$this->_s['allowed_extensions']!='all'&&!in_array($this->ext($f['name']),$this->_s['aa']))$e='extension_not_allowed'; elseif($this->_s['unallowed_extensions']!=''&&$this->_s['unallowed_extensions']!='none'&&in_array($this->ext($f['name']),$this->_s['ua']))$e='extension_not_allowed'; elseif(!is_file($f['tmp_name']))$e='file_not_uploaded'; elseif($this->_s['max_file_size']&&filesize($f['tmp_name'])>$this->_s['max_file_size'])$e='max_file_size'; return$e=='none'; } } endif; ?>